package com.sbtr.business.classify.entity;

import java.io.Serializable;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * 算法类型实体类
 * </p>
 *
 * @author
 * @since 
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("algorithm_info")
public class AlgorithmInfo extends Model<AlgorithmInfo> {


    @TableId(value = "id")
    private Long id;

    @ApiModelProperty(value = "算法名称")
    private String algorithmName;

    @ApiModelProperty(value = "算法类型编码：1001/1002")
    private String algorithmType;

    @ApiModelProperty(value = "算法参数")
    private String parameter;

    @ApiModelProperty(value = "算法类型名称：分类/回归")
    private String algorithmClass;

    @ApiModelProperty(value = "项目类型")
    private String projectType;

    @ApiModelProperty(value = "版本")
    private String version;

    @ApiModelProperty(value = "创建时间")
    @TableField(value = "create_time",fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")// 后台传数据到前台
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") //前台传数据到后台
    private Date createTime;

    private String lang;

    @ApiModelProperty(value = "发布时间")
    private Date publishTime;

    @ApiModelProperty(value = "作者")
    private String creator;

    private String output;

    @ApiModelProperty(value = "数据的bucket保存位置")
    private String bucketDir;

    @ApiModelProperty(value = "素材名称")
    private String fileName;

    @ApiModelProperty(value = "素材存储名称")
    private String otherName;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
